package com.crm.common.crm.entity.BO;

import com.crm.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;

@Data
public class BillCrmFinanceDropoutPaySubOrderBo {
    private static final long serialVersionUID = 1L;

    /** 订单主键 */
    private Long id;

    /** 分期订单主键 */
    @Excel(name = "分期订单主键")
    private Long orderId;


    /** 机构名称 */
    @Excel(name = "机构名称")
    private String orgName;

    /** 学员id */
    @Excel(name = "学员id")
    private Long userId;

    /** 贷款申请id */
    @Excel(name = "贷款申请id")
    private Long applicationId;

    /** 手机号 */
    @Excel(name = "手机号")
    private String userPhone;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNum;

    /** 课程Id */
    @Excel(name = "课程Id")
    private Long curriculumId;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String curriculumName;

    /** 贷款金额 */
    @Excel(name = "贷款金额")
    private BigDecimal loanMoney;

    /** 分期期数 */
    @Excel(name = "分期期数")
    private Integer periods;

    /** 分期类型 0账单分期 1全额贷款 */
    @Excel(name = "分期类型 0账单分期 1全额贷款")
    private Integer installType;

    /** 申请通过时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请通过时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applicationTime;

    /** 已收款金额 */
    @Excel(name = "已收款金额")
    private BigDecimal collectMoney;

    /** 待还款金额 */
    @Excel(name = "待还款金额")
    private BigDecimal waitRepaidMoney;

    /** 还款状态：1还款中,2已还清,3已逾期,4已代偿,5已退学 */
    @Excel(name = "还款状态：1还款中,2已还清,3已逾期,4已代偿,5已退学")
    private Integer repaidStatus;

    /** 学员真实姓名 */
    @Excel(name = "学员真实姓名")
    private String realName;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String card;

    /** 退学时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退学时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date dropoutTime;

    /** 已还期数 */
    @Excel(name = "已还期数")
    private Integer collectPeriods;

    /** 平台服务费率 */
    @Excel(name = "平台服务费率")
    private BigDecimal serviceProportion;

    /** 爱签合同编号 */
    @Excel(name = "爱签合同编号")
    private String contractNo;

    /** 风险提示： 0 正常 1 高风险 */
    @Excel(name = "风险提示： 0 正常 1 高风险")
    private Integer riskLevel;

    /** 服务费类型 0机构承担，1用户承担 */
    @Excel(name = "服务费类型 0机构承担，1用户承担")
    private Integer serviceChargeType;

    /** 平台服务费 */
    @Excel(name = "平台服务费")
    private BigDecimal serviceCharge;

    /** 分期订单主键 */
    @Excel(name = "分期订单主键")
    private Long masterOrderId;

    /** 退学补款主订单编号 */
    @Excel(name = "退学补款主订单编号")
    private String masterOrderNum;

    /** 补款金额 */
    @Excel(name = "补款金额")
    private BigDecimal fillMoney;

    /** 补款服务费 */
    @Excel(name = "补款服务费")
    private BigDecimal fillServiceCharge;

    /** 支付状态：0预订单，1支付成功 */
    @Excel(name = "支付状态：0预订单，1支付成功")
    private Integer payStatus;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /** 三方流水号 */
    @Excel(name = "三方流水号")
    private String payNo;

    /** 退学申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退学申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dropoutApplyTime;

    /** 退学退费金额 */
    @Excel(name = "退学退费金额")
    private BigDecimal dropoutMoney;

    /** 支付类型，1微信，2支付宝 */
    @Excel(name = "支付类型，1微信，2支付宝")
    private Integer payType;

    /** 退学补款主订单编号 */
    @Excel(name = "退学补款主订单编号")
    private String payOrderNum;

    /** 订单标题 */
    @Excel(name = "订单标题")
    private String orderName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
